package cn.bklovezz.yixiantong.ram.service;

import cn.bklovezz.yixiantong.ram.base.ReturnResult;
import cn.bklovezz.yixiantong.ram.dto.AdminLoginUser;
import cn.bklovezz.yixiantong.ram.dto.AdminRegisterLoginUser;
import cn.bklovezz.yixiantong.ram.pojo.RefreshInfo;
import cn.bklovezz.yixiantong.ram.entity.LoginUserModel;

public interface AdminUserService {
  /** 用户注册 */
  public abstract ReturnResult<LoginUserModel> register(AdminRegisterLoginUser user);

  /** 用户登录 */
  public abstract ReturnResult<LoginUserModel> login(AdminLoginUser user);

  /** 校验当前 token 的状态 */
  public abstract ReturnResult<Boolean> checkUserStatus(String token);

  /** 刷新用户的 token */
  public abstract ReturnResult<RefreshInfo<String>> refreshUserToken(String token);

  /** 根据 username 删除用户 */
  public abstract ReturnResult<Object> deleteUserByUsername(String username);
}
